#

| Chapter 40 Delayed Execution |

## 40.5 Avoiding Other at and cron Jobs

atq and at -l (40.9) are more important than they seem. They give you a way to decide when to run your jobs. I suggest that you check atq before picking a time to run your job. If you don't, the system may have a dozen huge jobs starting at midnight or 1 a.m. They will bring the system to its knees when there's no one around to help out. Here's an example of what can happen, using the BSD-style at commands:

>     % atq
>      Rank      Execution Date    Owner   Job#   Queue  Job Name
>      1st    Sep 12, 1996 01:00   mikel   4529     a    trashsys.sh
>      2nd    Sep 12, 1996 01:00   johnt   4531     a    flame.sh
>      3rd    Sep 12, 1996 01:00   davek   4532     a    stdin
>      4th    Sep 12, 1996 01:00   joek    4533     a    troffit
>      5th    Sep 13, 1996 02:00   bobr    4534     a    stdin

Four of the five users happened to pick 1 a.m. as their submission time. Therefore, four big jobs will start in the middle of the night. Will your system survive? Will any of these be done in the morning? These are good questions. Instead of submitting your jobs to run at 1 a.m., at midnight, or at some other integral number, start them at different times, and make them times like 3:48 a.m. If your system administrator notices lots of jobs running at the same times on your system, she might delete some of them and ask you to reschedule.

If your system has personal crontab files (40.12), you won't be able to see other users' cron jobs. The best way to cut system load is to pick strange times like 4:37 a.m. for your cron jobs.

- ML from O'Reilly & Associates' System Performance Tuning, Chapter 3

40.4 Choosing the Shell Run (We Hope) by at |  | 40.6 System V.4 Batch Queues